General-purpose computing devices such as, but not limited to, laptop and desktop computers, include the capability of a wide range of powerful computing capabilities. Unlike general-purpose computing devices, application-specific electronic devices, such as digital-audio players (e.g. MP3), Digital Versatile Disc (DVD) players, and electronic word processors, typically provide a limited subset of computing capabilities. However, despite their incapability to provide the vast features of a general-purpose computing device, application-specific electronic devices sometimes have advantages primarily due to their inherent simplicity.
For example, the simplicity of an application-specific electronic device is one reason why the devices typically quickly power-on to a usable state. For example, a home DVD player may be powered on and become ready to play a DVD in a matter of seconds. Furthermore, because application-specific electronic devices, by definition, do not perform a large number of tasks, their simplicity often translates to more reliable use. Specifically, application-specific electronic devices are typically unencumbered from conflicts and glitches that may be introduced into the environment of the general-purpose computing device from the numerous drivers and software applications which interact to provide the vast array of computing services.
Despite the wide-ranging capabilities of general-purpose computing devices, it is increasingly common for these computing devices to be used for limited-purpose applications during some computing sessions. When travelling, for example, a user may use the general-purpose computing device to function primarily as a multimedia player such as a portable digital-audio player or DVD player, without the need for other office applications such as word processors and spreadsheet applications.
However, there are a number of potential disadvantages to using a general-purpose computing device to perform under conditions in which only a limited subset of functionality is needed. For example, general-purpose computing devices, such as a laptop computer, may suffer from a lack of ability to quickly power-up and boot to a usable state. Rather, a general-purpose computing device typically executes a lengthy boot-up process that loads a multitude of drivers and other software. For the computing sessions in which the general-purpose computing device is used for a limited purpose, this lengthy boot-up process is cumbersome and unnecessary for the majority of the limited functions that will be used.
There are a number of current solutions which may alleviate several of the drawbacks to booting a general-purpose computing device for a limited-purpose application. First, a user may leave the computing device running at all times such that all capabilities provided by the general-purpose computing device are provided at all times. However, this approach wastes energy since the computing device must remain powered on at all times. This is particularly disadvantageous when the general-purpose computing device is a portable computer being used away from a power source, as frequently occurs when travelling. Additionally, the complexity of the operating system and potential for system conflicts remains the same, despite the limited-purpose use.
Another solution includes the use of a “hibernate” or a “standby” mode. Using this approach, instead of completely shutting down the computer, the computing device shuts down most power consuming functions, and is able to restore itself to normal operation within a few moments. However, while each of these modes may power-on to a usable state more quickly than a fresh reboot, the modes are still comparatively slow. Furthermore, in the case of standby mode, the system may still be required to consume power. Additionally, the complexity of the operating system and potential for conflicts remains the same, despite the limited use.
Another potential solution that may alleviate a number of the drawbacks to using a general-purpose computing device for a limited purpose includes loading a limited-feature OS by selecting an alternative operating system stored in flash ROM dedicated to the particular purpose, or by using an alternative BIOS as described in U.S. Pat. No. 6,765,788 to Wu. However, each of these approaches is expensive, and the required hardware is difficult to upgrade in the future. Furthermore, this approach requires a change in hardware design of the entire computing device.
Another possible solution is installing a limited-feature operating system and any needed software in a storage partition separate from the partition used by the main, general-purpose operating system. However, in most cases, users do not have a free partition and/or additional unpartitioned storage space for this purpose. Furthermore, this solution may be technically difficult for most users to implement. Software, such as Norton PartitionMagic™ from Symantec Corporation, Cupertino, Calif., may be used to split an existing partition into multiple partitions. However, if an existing partition is split, a portion of the storage space on the original partition must be used for the at least one new partition which will hold the limited-feature operating system and software.
For at least the foregoing reasons, there is a need for a system and method for loading a limited-purpose operating system that quickly boots to a usable state, does not consume additional power, is low in cost, does not require a change to the hardware design of the general-purpose computer, allows for easy upgrading of the limited-purpose operating system, does not require decreasing the size of an existing partition, and provides ease of use to an end user.